//package a2025_02_23;
//
//import java.util.PriorityQueue;
//
//class MedianFinder {
//
//    /** initialize your data structure here. */
//    PriorityQueue<Integer> bigQueue;
//    PriorityQueue<Integer> smallQueue;
//    public MedianFinder() {
//        bigQueue=new PriorityQueue<>((o1,o2)->o2-o1);
//        smallQueue=new PriorityQueue<>((o1,o2)->o1-o2);
//    }
//
//    public void addNum(int num) {
//        int m=bigQueue.size();
//        int n=smallQueue.size();
//        if(m==n){
//            if(m==0||num<=bigQueue.peek()){
//                bigQueue.offer(num);
//            }else if(num>bigQueue.peek()){
//                smallQueue.offer(num);
//                bigQueue.offer(smallQueue.poll());
//            }
//        }else if(m>n){
//            if(num<=bigQueue.peek()){
//                bigQueue.offer(num);
//                smallQueue.offer(bigQueue.poll());
//            }else if(num>bigQueue.peek()){
//                smallQueue.offer(num);
//            }
//        }
//    }
//
//    public double findMedian() {
//        int m=bigQueue.size();
//        int n=smallQueue.size();
//        if(m>n){
//            return bigQueue.peek();
//        }else{
//            double x=bigQueue.peek();
//            double y=smallQueue.peek();
//            return (x+y)/2;
//        }
//    }
//}
//
///**
// * Your MedianFinder object will be instantiated and called as such:
// * MedianFinder obj = new MedianFinder();
// * obj.addNum(num);
// * double param_2 = obj.findMedian();
// */
